# -*- coding: utf-8 -*-
# @Time : 2021/9/18 10:18
# @Author : 伟哥
# @Email : xw@gmail.com
# @File : MRYX_MD.py
# @Project : mryx_test
'''我的页面的测试用例'''
from time import sleep
from testcase.base_case import BaseCase
from page.my_page import My
from page.address_page import Address
from page.set_page import Set
from page.help_page import Help
from page.home_page import HomePage
from page.shopping_page import Shopping
from page.detail_page import DetailPage
class MyTest(BaseCase):
    '''测试用例'''
    def test_address(self):
        '''新增收货地址信息'''
        sleep(8)
        my = My(self.driver)
        address=Address(self.driver)
        #点击我的
        my.my()
        #点击收货地址
        my.address()
        #点击新增收货地址
        address.add()
        #输入收货人姓名
        address.name()
        #输入收货人手机号
        address.phone()
        #选择地址
        address.select_address()
        #输入门牌号
        address.house()
        #选择标签
        address.lable()
        #点击保存地址信息
        address.save()
        #断言
        sleep(5)
        self.assertEqual("合肥工业大学(宣城校区)规划进口美食\n公司\n行编辑\n13356789011",address.arrertion())
        #删除地址
        address.edit()
        address.delefe()

    def test_default_address(self):
        '''设置为默认地址信息'''
        sleep(8)
        my = My(self.driver)
        address = Address(self.driver)
        home=HomePage(self.driver)
        s=Shopping(self.driver)
        de=DetailPage(self.driver)
        # 点击我的
        my.my()
        # 点击收货地址
        my.address()
        # 点击新增收货地址
        address.add()
        # 输入收货人姓名
        address.name()
        # 输入收货人手机号
        address.phone()
        # 选择地址
        address.select_address()
        # 输入门牌号
        address.house()
        # 选择标签
        address.lable()
        # 选择为默认地址
        address.default()
        # 点击保存地址信息
        address.save()
        #点击返回我的
        address.back()
        #点击购物车
        home.click_shoppingcat()
        #点击一个商品
        s.frist_shop()
        #点击加入购物车
        de.addshopping()
        #返回购物车
        de.back()
        #点击结算
        s.click_settlement()
        #点击收货地址
        s.click_address()
        #选择收货地址
        s.select_address()
        #断言
        self.assertIn("￼ ￼ 合肥工业大学(宣城校区) 规划进口美食\n公司\n默认\n行编辑 13356789011",s.address())
        # 清除环境
        s.back()
        my.my()
        my.address()
        address.edit()
        address.delefe()

    def test_delefe(self):
        '''删除收货地址'''
        sleep(8)
        my = My(self.driver)
        address=Address(self.driver)
        #前置条件，添加一条地址信息
        my.my()
        my.address()
        address.add()
        address.name()
        address.phone()
        address.select_address()
        address.house()
        address.lable()
        address.save()
        #点击编辑
        sleep(5)
        address.edit()
        #点击删除地址信息
        address.delefe()
        #断言
        self.assertEqual(True,address.enable_arrertion())

    def test_cache(self):
        '''清除缓存'''
        sleep(8)
        my = My(self.driver)
        set=Set(self.driver)
        # 点击我的
        my.my()
        #点击设置
        my.set()
        #点击清除缓存
        set.clear()
        #断言
        self.assertIn("清除了",set.assertion())

    def test_help(self):
        '''客服与帮助，质询疫情配送问题'''
        sleep(8)
        my = My(self.driver)
        h= Help(self.driver)
        # 点击我的
        my.my()
        #点击客服与帮助
        my.customer()
        #点击在线客服
        h.online()
        #点击疫情配送问题
        h.delivery()
        #断言
        self.assertEqual("您好，疫情地区购买及配送情况，以您定位地址后的页面显示为准。若定位收货地址后页面可以正常下单，则说明您的地址可以正常配送",h.delivery_response())

    def test_enter(self):
        '''客服与帮助，随意输入文字'''
        sleep(8)
        my = My(self.driver)
        h = Help(self.driver)
        # 点击我的
        my.my()
        # 点击客服与帮助
        my.customer()
        # 点击在线客服
        h.online()
        # 输入文字
        h.enter()
        # 断言
        self.assertEqual('您好，优优暂时回答不上来您的问题，还在努力学习中哦～输入“人工”，马上为您联系人工客服。', h.violation_response())
